<?php

namespace App\Requests\AdminRole;

use App\Models\Admin;
use App\Models\AdminRole;
use App\Requests\BaseRequest;

/**
 * @property int $id 该数据
 * @property string $name 角色名称
 * @property int $is_super 是否超级管理员
 * @property string $desc 描述
 * @property string $menu_ids 权限ID集合，存储结构为json数据，内容为admin_menus表ID集合
 * @property string $menu_texts 权限ID集合，存储结构为json数据，内容为admin_menus表ID集合
 */
class StoreRequest extends BaseRequest
{
    /**
     * 定义规则信息
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name'     => 'required|string|max:255|unique:' . AdminRole::tableName() . ',name,' . ($this->id ?? 0) . ',id,is_delete,0',
            'menu_ids' => 'required|string',
        ];
    }

    /**
     * 定义字段对应的名称
     *
     * @return array
     */
    public function attributes()
    {
        return [
            'id'         => '该数据',
            'name'       => '角色名称',
            'is_super'   => '是否超级管理员',
            'desc'       => '描述',
            'menu_ids'   => '权限ID集合，存储结构为json数据，内容为admin_menus表ID集合',
            'menu_texts' => '权限ID集合，存储结构为json数据，内容为admin_menus表ID集合',
        ];
    }
}
